<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

  </head>
  
  <body>
  	<!-- SpringMVC 的表单回显, 即使是第一次访问时也会到请求域中找 bean 匹配当前的表单, 若 bean 不存在
  		  则从 request 域中读取 command 的表单 bean, 若该 bean 也不存在, 则抛出异常
  		  通过 modelAttribute 指定 request 域中的键对应的对象, 默认值: command -->
    <form:form action="${pageContext.request.contextPath }/emp" method="post" modelAttribute="employee">
    
    	<c:if test="${employee.id == null }">
			<!-- form:input 标签的 path 属性对应 html 的 name 属性, 支持级联 -->
    		name:<form:input path="name"/><br>
    	</c:if>
    	
    	<c:if test="${employee.id != null }">
    		<!-- form 标签用于表单回显, 要求 path 的属性值必须要在 modelAttribute 中的 bean 有对应的属性 -->
    		<form:hidden path="id"/>
    		<input type="hidden" name="_method" value="PUT">
    	</c:if>
    	
    	email:<form:input path="email"/><br>
    	<!-- delimiter: 各个 radiobutton 之间的分隔符 -->
	   	gender:<form:radiobuttons path="gender" items="${genders }" delimiter="<br>"/><br>
    	<!-- itemLabel: 指定 option 的 label 值, itemValue: 指定 option 的 value 值, path 支持级联  -->
	   	department:<form:select path="department.id" items="${requestScope.departments }" itemLabel="deptmentName" itemValue="id"></form:select><br>
		<input type="submit" value="submit">
    </form:form>
  </body>
</html>